/**
 *  iBizSys 5.0 机器人生产代码（不要直接修改当前代码）
 *  http://www.ibizsys.net
 */
package com.sa.litetwo.srv.card.entity;


import java.io.Serializable;
import java.util.HashMap;
import java.util.ArrayList;

import javax.persistence.Column;

import java.sql.Timestamp;
import net.ibizsys.paas.data.IDataObject;
import net.ibizsys.paas.data.DataObject;
import net.ibizsys.paas.util.StringHelper;
import net.sf.json.JSONObject;
import net.ibizsys.paas.util.JSONObjectHelper;
import net.ibizsys.paas.xml.XmlNode;
import net.ibizsys.paas.service.ServiceGlobal;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;


/**
 * 实体[GG_PROJ] 数据对象
 */
public class GG_PROJ extends net.ibizsys.paas.entity.EntityBase implements Serializable {

   private static final long serialVersionUID = -1L;
   private static final Log log = LogFactory.getLog(GG_PROJ.class); 
   /**
    *   实体属性标识[项目标识]
    */
   public final static String FIELD_GG_PROJID = "GG_PROJID";
   /**
    *   实体属性标识[项目名称]
    */
   public final static String FIELD_GG_PROJNAME = "GG_PROJNAME";
   /**
    *   实体属性标识[建立时间]
    */
   public final static String FIELD_CREATEDATE = "CREATEDATE";
   /**
    *   实体属性标识[建立人]
    */
   public final static String FIELD_CREATEMAN = "CREATEMAN";
   /**
    *   实体属性标识[更新时间]
    */
   public final static String FIELD_UPDATEDATE = "UPDATEDATE";
   /**
    *   实体属性标识[更新人]
    */
   public final static String FIELD_UPDATEMAN = "UPDATEMAN";
   /**
    *   实体属性标识[人员]
    */
   public final static String FIELD_CARDID = "CARDID";
   /**
    *   实体属性标识[时间]
    */
   public final static String FIELD_KSSJ = "KSSJ";
   /**
    *   实体属性标识[到]
    */
   public final static String FIELD_JSSJ = "JSSJ";
   /**
    *   实体属性标识[所属单位]
    */
   public final static String FIELD_SSDW = "SSDW";
   /**
    *   实体属性标识[项目描述]
    */
   public final static String FIELD_XMMS = "XMMS";
   /**
    *   实体属性标识[责任描述]
    */
   public final static String FIELD_ZRMS = "ZRMS";

   private final static int INDEX_GG_PROJID = 0;
   private final static int INDEX_GG_PROJNAME = 1;
   private final static int INDEX_CREATEDATE = 2;
   private final static int INDEX_CREATEMAN = 3;
   private final static int INDEX_UPDATEDATE = 4;
   private final static int INDEX_UPDATEMAN = 5;
   private final static int INDEX_CARDID = 6;
   private final static int INDEX_KSSJ = 7;
   private final static int INDEX_JSSJ = 8;
   private final static int INDEX_SSDW = 9;
   private final static int INDEX_XMMS = 10;
   private final static int INDEX_ZRMS = 11;

   private final static HashMap<String, Integer> fieldIndexMap = new HashMap<String, Integer>();
   static
   {
       fieldIndexMap.put( FIELD_GG_PROJID, INDEX_GG_PROJID);
       fieldIndexMap.put( FIELD_GG_PROJNAME, INDEX_GG_PROJNAME);
       fieldIndexMap.put( FIELD_CREATEDATE, INDEX_CREATEDATE);
       fieldIndexMap.put( FIELD_CREATEMAN, INDEX_CREATEMAN);
       fieldIndexMap.put( FIELD_UPDATEDATE, INDEX_UPDATEDATE);
       fieldIndexMap.put( FIELD_UPDATEMAN, INDEX_UPDATEMAN);
       fieldIndexMap.put( FIELD_CARDID, INDEX_CARDID);
       fieldIndexMap.put( FIELD_KSSJ, INDEX_KSSJ);
       fieldIndexMap.put( FIELD_JSSJ, INDEX_JSSJ);
       fieldIndexMap.put( FIELD_SSDW, INDEX_SSDW);
       fieldIndexMap.put( FIELD_XMMS, INDEX_XMMS);
       fieldIndexMap.put( FIELD_ZRMS, INDEX_ZRMS);
   }
   
   private GG_PROJ proxyGG_PROJ = null;

   public GG_PROJ(){
        super();
   }
   private boolean gg_projidDirtyFlag = false;
   private boolean gg_projnameDirtyFlag = false;
   private boolean createdateDirtyFlag = false;
   private boolean createmanDirtyFlag = false;
   private boolean updatedateDirtyFlag = false;
   private boolean updatemanDirtyFlag = false;
   private boolean cardidDirtyFlag = false;
   private boolean kssjDirtyFlag = false;
   private boolean jssjDirtyFlag = false;
   private boolean ssdwDirtyFlag = false;
   private boolean xmmsDirtyFlag = false;
   private boolean zrmsDirtyFlag = false;

    @Column(name="gg_projid")
    private String gg_projid;
    @Column(name="gg_projname")
    private String gg_projname;
    @Column(name="createdate")
    private Timestamp createdate;
    @Column(name="createman")
    private String createman;
    @Column(name="updatedate")
    private Timestamp updatedate;
    @Column(name="updateman")
    private String updateman;
    @Column(name="cardid")
    private String cardid;
    @Column(name="kssj")
    private Timestamp kssj;
    @Column(name="jssj")
    private Timestamp jssj;
    @Column(name="ssdw")
    private String ssdw;
    @Column(name="xmms")
    private String xmms;
    @Column(name="zrms")
    private String zrms;

   
    /**
     *  设置属性值[项目标识]
     *  @param gg_projid
     */
    public void setGG_PROJId(String gg_projid){
    	
    	if(this.getProxyEntity()!=null){
    		this.getProxyEntity().setGG_PROJId(gg_projid);
    		return;
    	}
        if(gg_projid!=null)
        {
        	gg_projid = StringHelper.trimRight(gg_projid);
        	if(gg_projid.length()==0){
        		gg_projid = null;
        	}
        }
        this.gg_projid =  gg_projid; 
        this.gg_projidDirtyFlag  = true;
    }
    
    /**
     *  获取属性值[项目标识]
     */
    public String getGG_PROJId(){
    	if(this.getProxyEntity()!=null){
    		return this.getProxyEntity().getGG_PROJId();
    	}
        return this.gg_projid;
    }

    /**
     *  获取属性值[项目标识]是否修改
     */
    public boolean isGG_PROJIdDirty(){
    	if(this.getProxyEntity()!=null){
    		return this.getProxyEntity().isGG_PROJIdDirty();
    	}
        return this.gg_projidDirtyFlag;
    }

    /**
     *  重置属性值[项目标识]
     */
    public void resetGG_PROJId(){
    	
    	if(this.getProxyEntity()!=null){
    		 this.getProxyEntity().resetGG_PROJId();
    		 return;
    	}
    	
        this.gg_projidDirtyFlag = false;
        this.gg_projid = null;
    }
    /**
     *  设置属性值[项目名称]
     *  @param gg_projname
     */
    public void setGG_PROJName(String gg_projname){
    	
    	if(this.getProxyEntity()!=null){
    		this.getProxyEntity().setGG_PROJName(gg_projname);
    		return;
    	}
        if(gg_projname!=null)
        {
        	gg_projname = StringHelper.trimRight(gg_projname);
        	if(gg_projname.length()==0){
        		gg_projname = null;
        	}
        }
        this.gg_projname =  gg_projname; 
        this.gg_projnameDirtyFlag  = true;
    }
    
    /**
     *  获取属性值[项目名称]
     */
    public String getGG_PROJName(){
    	if(this.getProxyEntity()!=null){
    		return this.getProxyEntity().getGG_PROJName();
    	}
        return this.gg_projname;
    }

    /**
     *  获取属性值[项目名称]是否修改
     */
    public boolean isGG_PROJNameDirty(){
    	if(this.getProxyEntity()!=null){
    		return this.getProxyEntity().isGG_PROJNameDirty();
    	}
        return this.gg_projnameDirtyFlag;
    }

    /**
     *  重置属性值[项目名称]
     */
    public void resetGG_PROJName(){
    	
    	if(this.getProxyEntity()!=null){
    		 this.getProxyEntity().resetGG_PROJName();
    		 return;
    	}
    	
        this.gg_projnameDirtyFlag = false;
        this.gg_projname = null;
    }
    /**
     *  设置属性值[建立时间]
     *  @param createdate
     */
    public void setCreateDate(Timestamp createdate){
    	
    	if(this.getProxyEntity()!=null){
    		this.getProxyEntity().setCreateDate(createdate);
    		return;
    	}
        this.createdate =  createdate; 
        this.createdateDirtyFlag  = true;
    }
    
    /**
     *  获取属性值[建立时间]
     */
    public Timestamp getCreateDate(){
    	if(this.getProxyEntity()!=null){
    		return this.getProxyEntity().getCreateDate();
    	}
        return this.createdate;
    }

    /**
     *  获取属性值[建立时间]是否修改
     */
    public boolean isCreateDateDirty(){
    	if(this.getProxyEntity()!=null){
    		return this.getProxyEntity().isCreateDateDirty();
    	}
        return this.createdateDirtyFlag;
    }

    /**
     *  重置属性值[建立时间]
     */
    public void resetCreateDate(){
    	
    	if(this.getProxyEntity()!=null){
    		 this.getProxyEntity().resetCreateDate();
    		 return;
    	}
    	
        this.createdateDirtyFlag = false;
        this.createdate = null;
    }
    /**
     *  设置属性值[建立人]代码表：com.sa.litetwo.srv.codelist.SysOperatorCodeListModel
     *  @param createman
     */
    public void setCreateMan(String createman){
    	
    	if(this.getProxyEntity()!=null){
    		this.getProxyEntity().setCreateMan(createman);
    		return;
    	}
        if(createman!=null)
        {
        	createman = StringHelper.trimRight(createman);
        	if(createman.length()==0){
        		createman = null;
        	}
        }
        this.createman =  createman; 
        this.createmanDirtyFlag  = true;
    }
    
    /**
     *  获取属性值[建立人]代码表：com.sa.litetwo.srv.codelist.SysOperatorCodeListModel
     */
    public String getCreateMan(){
    	if(this.getProxyEntity()!=null){
    		return this.getProxyEntity().getCreateMan();
    	}
        return this.createman;
    }

    /**
     *  获取属性值[建立人]是否修改
     */
    public boolean isCreateManDirty(){
    	if(this.getProxyEntity()!=null){
    		return this.getProxyEntity().isCreateManDirty();
    	}
        return this.createmanDirtyFlag;
    }

    /**
     *  重置属性值[建立人]
     */
    public void resetCreateMan(){
    	
    	if(this.getProxyEntity()!=null){
    		 this.getProxyEntity().resetCreateMan();
    		 return;
    	}
    	
        this.createmanDirtyFlag = false;
        this.createman = null;
    }
    /**
     *  设置属性值[更新时间]
     *  @param updatedate
     */
    public void setUpdateDate(Timestamp updatedate){
    	
    	if(this.getProxyEntity()!=null){
    		this.getProxyEntity().setUpdateDate(updatedate);
    		return;
    	}
        this.updatedate =  updatedate; 
        this.updatedateDirtyFlag  = true;
    }
    
    /**
     *  获取属性值[更新时间]
     */
    public Timestamp getUpdateDate(){
    	if(this.getProxyEntity()!=null){
    		return this.getProxyEntity().getUpdateDate();
    	}
        return this.updatedate;
    }

    /**
     *  获取属性值[更新时间]是否修改
     */
    public boolean isUpdateDateDirty(){
    	if(this.getProxyEntity()!=null){
    		return this.getProxyEntity().isUpdateDateDirty();
    	}
        return this.updatedateDirtyFlag;
    }

    /**
     *  重置属性值[更新时间]
     */
    public void resetUpdateDate(){
    	
    	if(this.getProxyEntity()!=null){
    		 this.getProxyEntity().resetUpdateDate();
    		 return;
    	}
    	
        this.updatedateDirtyFlag = false;
        this.updatedate = null;
    }
    /**
     *  设置属性值[更新人]代码表：com.sa.litetwo.srv.codelist.SysOperatorCodeListModel
     *  @param updateman
     */
    public void setUpdateMan(String updateman){
    	
    	if(this.getProxyEntity()!=null){
    		this.getProxyEntity().setUpdateMan(updateman);
    		return;
    	}
        if(updateman!=null)
        {
        	updateman = StringHelper.trimRight(updateman);
        	if(updateman.length()==0){
        		updateman = null;
        	}
        }
        this.updateman =  updateman; 
        this.updatemanDirtyFlag  = true;
    }
    
    /**
     *  获取属性值[更新人]代码表：com.sa.litetwo.srv.codelist.SysOperatorCodeListModel
     */
    public String getUpdateMan(){
    	if(this.getProxyEntity()!=null){
    		return this.getProxyEntity().getUpdateMan();
    	}
        return this.updateman;
    }

    /**
     *  获取属性值[更新人]是否修改
     */
    public boolean isUpdateManDirty(){
    	if(this.getProxyEntity()!=null){
    		return this.getProxyEntity().isUpdateManDirty();
    	}
        return this.updatemanDirtyFlag;
    }

    /**
     *  重置属性值[更新人]
     */
    public void resetUpdateMan(){
    	
    	if(this.getProxyEntity()!=null){
    		 this.getProxyEntity().resetUpdateMan();
    		 return;
    	}
    	
        this.updatemanDirtyFlag = false;
        this.updateman = null;
    }
    /**
     *  设置属性值[人员]
     *  @param cardid
     */
    public void setCARDID(String cardid){
    	
    	if(this.getProxyEntity()!=null){
    		this.getProxyEntity().setCARDID(cardid);
    		return;
    	}
        if(cardid!=null)
        {
        	cardid = StringHelper.trimRight(cardid);
        	if(cardid.length()==0){
        		cardid = null;
        	}
        }
        this.cardid =  cardid; 
        this.cardidDirtyFlag  = true;
    }
    
    /**
     *  获取属性值[人员]
     */
    public String getCARDID(){
    	if(this.getProxyEntity()!=null){
    		return this.getProxyEntity().getCARDID();
    	}
        return this.cardid;
    }

    /**
     *  获取属性值[人员]是否修改
     */
    public boolean isCARDIDDirty(){
    	if(this.getProxyEntity()!=null){
    		return this.getProxyEntity().isCARDIDDirty();
    	}
        return this.cardidDirtyFlag;
    }

    /**
     *  重置属性值[人员]
     */
    public void resetCARDID(){
    	
    	if(this.getProxyEntity()!=null){
    		 this.getProxyEntity().resetCARDID();
    		 return;
    	}
    	
        this.cardidDirtyFlag = false;
        this.cardid = null;
    }
    /**
     *  设置属性值[时间]
     *  @param kssj
     */
    public void setKSSJ(Timestamp kssj){
    	
    	if(this.getProxyEntity()!=null){
    		this.getProxyEntity().setKSSJ(kssj);
    		return;
    	}
        this.kssj =  kssj; 
        this.kssjDirtyFlag  = true;
    }
    
    /**
     *  获取属性值[时间]
     */
    public Timestamp getKSSJ(){
    	if(this.getProxyEntity()!=null){
    		return this.getProxyEntity().getKSSJ();
    	}
        return this.kssj;
    }

    /**
     *  获取属性值[时间]是否修改
     */
    public boolean isKSSJDirty(){
    	if(this.getProxyEntity()!=null){
    		return this.getProxyEntity().isKSSJDirty();
    	}
        return this.kssjDirtyFlag;
    }

    /**
     *  重置属性值[时间]
     */
    public void resetKSSJ(){
    	
    	if(this.getProxyEntity()!=null){
    		 this.getProxyEntity().resetKSSJ();
    		 return;
    	}
    	
        this.kssjDirtyFlag = false;
        this.kssj = null;
    }
    /**
     *  设置属性值[到]
     *  @param jssj
     */
    public void setJSSJ(Timestamp jssj){
    	
    	if(this.getProxyEntity()!=null){
    		this.getProxyEntity().setJSSJ(jssj);
    		return;
    	}
        this.jssj =  jssj; 
        this.jssjDirtyFlag  = true;
    }
    
    /**
     *  获取属性值[到]
     */
    public Timestamp getJSSJ(){
    	if(this.getProxyEntity()!=null){
    		return this.getProxyEntity().getJSSJ();
    	}
        return this.jssj;
    }

    /**
     *  获取属性值[到]是否修改
     */
    public boolean isJSSJDirty(){
    	if(this.getProxyEntity()!=null){
    		return this.getProxyEntity().isJSSJDirty();
    	}
        return this.jssjDirtyFlag;
    }

    /**
     *  重置属性值[到]
     */
    public void resetJSSJ(){
    	
    	if(this.getProxyEntity()!=null){
    		 this.getProxyEntity().resetJSSJ();
    		 return;
    	}
    	
        this.jssjDirtyFlag = false;
        this.jssj = null;
    }
    /**
     *  设置属性值[所属单位]
     *  @param ssdw
     */
    public void setSSDW(String ssdw){
    	
    	if(this.getProxyEntity()!=null){
    		this.getProxyEntity().setSSDW(ssdw);
    		return;
    	}
        if(ssdw!=null)
        {
        	ssdw = StringHelper.trimRight(ssdw);
        	if(ssdw.length()==0){
        		ssdw = null;
        	}
        }
        this.ssdw =  ssdw; 
        this.ssdwDirtyFlag  = true;
    }
    
    /**
     *  获取属性值[所属单位]
     */
    public String getSSDW(){
    	if(this.getProxyEntity()!=null){
    		return this.getProxyEntity().getSSDW();
    	}
        return this.ssdw;
    }

    /**
     *  获取属性值[所属单位]是否修改
     */
    public boolean isSSDWDirty(){
    	if(this.getProxyEntity()!=null){
    		return this.getProxyEntity().isSSDWDirty();
    	}
        return this.ssdwDirtyFlag;
    }

    /**
     *  重置属性值[所属单位]
     */
    public void resetSSDW(){
    	
    	if(this.getProxyEntity()!=null){
    		 this.getProxyEntity().resetSSDW();
    		 return;
    	}
    	
        this.ssdwDirtyFlag = false;
        this.ssdw = null;
    }
    /**
     *  设置属性值[项目描述]
     *  @param xmms
     */
    public void setXMMS(String xmms){
    	
    	if(this.getProxyEntity()!=null){
    		this.getProxyEntity().setXMMS(xmms);
    		return;
    	}
        if(xmms!=null)
        {
        	xmms = StringHelper.trimRight(xmms);
        	if(xmms.length()==0){
        		xmms = null;
        	}
        }
        this.xmms =  xmms; 
        this.xmmsDirtyFlag  = true;
    }
    
    /**
     *  获取属性值[项目描述]
     */
    public String getXMMS(){
    	if(this.getProxyEntity()!=null){
    		return this.getProxyEntity().getXMMS();
    	}
        return this.xmms;
    }

    /**
     *  获取属性值[项目描述]是否修改
     */
    public boolean isXMMSDirty(){
    	if(this.getProxyEntity()!=null){
    		return this.getProxyEntity().isXMMSDirty();
    	}
        return this.xmmsDirtyFlag;
    }

    /**
     *  重置属性值[项目描述]
     */
    public void resetXMMS(){
    	
    	if(this.getProxyEntity()!=null){
    		 this.getProxyEntity().resetXMMS();
    		 return;
    	}
    	
        this.xmmsDirtyFlag = false;
        this.xmms = null;
    }
    /**
     *  设置属性值[责任描述]
     *  @param zrms
     */
    public void setZRMS(String zrms){
    	
    	if(this.getProxyEntity()!=null){
    		this.getProxyEntity().setZRMS(zrms);
    		return;
    	}
        if(zrms!=null)
        {
        	zrms = StringHelper.trimRight(zrms);
        	if(zrms.length()==0){
        		zrms = null;
        	}
        }
        this.zrms =  zrms; 
        this.zrmsDirtyFlag  = true;
    }
    
    /**
     *  获取属性值[责任描述]
     */
    public String getZRMS(){
    	if(this.getProxyEntity()!=null){
    		return this.getProxyEntity().getZRMS();
    	}
        return this.zrms;
    }

    /**
     *  获取属性值[责任描述]是否修改
     */
    public boolean isZRMSDirty(){
    	if(this.getProxyEntity()!=null){
    		return this.getProxyEntity().isZRMSDirty();
    	}
        return this.zrmsDirtyFlag;
    }

    /**
     *  重置属性值[责任描述]
     */
    public void resetZRMS(){
    	
    	if(this.getProxyEntity()!=null){
    		 this.getProxyEntity().resetZRMS();
    		 return;
    	}
    	
        this.zrmsDirtyFlag = false;
        this.zrms = null;
    }

	/* (non-Javadoc)
	 * @see net.ibizsys.paas.entity.EntityBase#onReset()
	 */
    @Override
    protected void onReset()
    {
       GG_PROJ.resetAll(this);
       super.onReset();
    }
    
    /**
     * 重置当前数据对象属性值
     * @param entity
     */
    private static void resetAll(GG_PROJ et){
        et.resetGG_PROJId();
        et.resetGG_PROJName();
        et.resetCreateDate();
        et.resetCreateMan();
        et.resetUpdateDate();
        et.resetUpdateMan();
        et.resetCARDID();
        et.resetKSSJ();
        et.resetJSSJ();
        et.resetSSDW();
        et.resetXMMS();
        et.resetZRMS();
    }

     /* (non-Javadoc)
      * @see net.ibizsys.paas.entity.EntityBase#onFillMap(java.util.HashMap, boolean)
      */
    @Override
    protected void onFillMap(HashMap<String, Object> params, boolean bDirtyOnly)
    {
        if(!bDirtyOnly || isGG_PROJIdDirty()){
             params.put(FIELD_GG_PROJID,getGG_PROJId());
        } 
        if(!bDirtyOnly || isGG_PROJNameDirty()){
             params.put(FIELD_GG_PROJNAME,getGG_PROJName());
        } 
        if(!bDirtyOnly || isCreateDateDirty()){
             params.put(FIELD_CREATEDATE,getCreateDate());
        } 
        if(!bDirtyOnly || isCreateManDirty()){
             params.put(FIELD_CREATEMAN,getCreateMan());
        } 
        if(!bDirtyOnly || isUpdateDateDirty()){
             params.put(FIELD_UPDATEDATE,getUpdateDate());
        } 
        if(!bDirtyOnly || isUpdateManDirty()){
             params.put(FIELD_UPDATEMAN,getUpdateMan());
        } 
        if(!bDirtyOnly || isCARDIDDirty()){
             params.put(FIELD_CARDID,getCARDID());
        } 
        if(!bDirtyOnly || isKSSJDirty()){
             params.put(FIELD_KSSJ,getKSSJ());
        } 
        if(!bDirtyOnly || isJSSJDirty()){
             params.put(FIELD_JSSJ,getJSSJ());
        } 
        if(!bDirtyOnly || isSSDWDirty()){
             params.put(FIELD_SSDW,getSSDW());
        } 
        if(!bDirtyOnly || isXMMSDirty()){
             params.put(FIELD_XMMS,getXMMS());
        } 
        if(!bDirtyOnly || isZRMSDirty()){
             params.put(FIELD_ZRMS,getZRMS());
        } 
    	super.onFillMap(params, bDirtyOnly);
    }
   
    /* (non-Javadoc)
     * @see net.ibizsys.paas.data.DataObject#get(java.lang.String)
     */
    @Override
	public Object get(String strParamName) throws Exception
	{
    	if(this.getProxyEntity()!=null){
    		return this.getProxyEntity().get(strParamName);
    	}
    	
            if(StringHelper.isNullOrEmpty(strParamName))
                 throw new Exception("没有指定属性");
            Integer index=fieldIndexMap.get(strParamName.toUpperCase());
            if(index==null)
                 return super.get(strParamName);

                return  GG_PROJ.get(this, index);
	}
    
    /**
     * 通过属性标识获取属性值
     * @param et 数据对象
     * @param index 属性标识
     * @return
     * @throws Exception
     */
    private static Object get(GG_PROJ et,int index) throws Exception{
             
            switch(index)
    	    {
               case INDEX_GG_PROJID:return et.getGG_PROJId();
               case INDEX_GG_PROJNAME:return et.getGG_PROJName();
               case INDEX_CREATEDATE:return et.getCreateDate();
               case INDEX_CREATEMAN:return et.getCreateMan();
               case INDEX_UPDATEDATE:return et.getUpdateDate();
               case INDEX_UPDATEMAN:return et.getUpdateMan();
               case INDEX_CARDID:return et.getCARDID();
               case INDEX_KSSJ:return et.getKSSJ();
               case INDEX_JSSJ:return et.getJSSJ();
               case INDEX_SSDW:return et.getSSDW();
               case INDEX_XMMS:return et.getXMMS();
               case INDEX_ZRMS:return et.getZRMS();
    	       default:
    		     throw new Exception("不明属性标识");
    	    }
    }

    /* (non-Javadoc)
     * @see net.ibizsys.paas.data.DataObject#set(java.lang.String, java.lang.Object)
     */
    @Override
	public void set(String strParamName,Object objValue) throws Exception
	{
    	if(this.getProxyEntity()!=null){
    		 this.getProxyEntity().set(strParamName,objValue);
    		 return;
    	}
            if(StringHelper.isNullOrEmpty(strParamName))
                 throw new Exception("没有指定属性");

            Integer index=fieldIndexMap.get(strParamName.toUpperCase());
            if(index==null)
            {
                super.set(strParamName,objValue);
                return;
            }
            
            GG_PROJ.set(this,index,objValue);
 	}

    /**
     * 通过属性标识设定属性值
     * @param et 数据对象
     * @param index 属性标识
     * @param obj 值
     * @throws Exception
     */
            private static void set(GG_PROJ et,int index,Object obj) throws Exception
         {    
            switch(index)
    	    {
               case INDEX_GG_PROJID:et.setGG_PROJId(DataObject.getStringValue(obj));return ;
               case INDEX_GG_PROJNAME:et.setGG_PROJName(DataObject.getStringValue(obj));return ;
               case INDEX_CREATEDATE:et.setCreateDate(DataObject.getTimestampValue(obj));return ;
               case INDEX_CREATEMAN:et.setCreateMan(DataObject.getStringValue(obj));return ;
               case INDEX_UPDATEDATE:et.setUpdateDate(DataObject.getTimestampValue(obj));return ;
               case INDEX_UPDATEMAN:et.setUpdateMan(DataObject.getStringValue(obj));return ;
               case INDEX_CARDID:et.setCARDID(DataObject.getStringValue(obj));return ;
               case INDEX_KSSJ:et.setKSSJ(DataObject.getTimestampValue(obj));return ;
               case INDEX_JSSJ:et.setJSSJ(DataObject.getTimestampValue(obj));return ;
               case INDEX_SSDW:et.setSSDW(DataObject.getStringValue(obj));return ;
               case INDEX_XMMS:et.setXMMS(DataObject.getStringValue(obj));return ;
               case INDEX_ZRMS:et.setZRMS(DataObject.getStringValue(obj));return ;
    	       default:
    		     throw new Exception("不明属性标识");
    	    }
        }

            /* (non-Javadoc)
             * @see net.ibizsys.paas.data.DataObject#isNull(java.lang.String)
             */
            @Override
    	public boolean isNull(String strParamName) throws Exception
    	{
			 if(this.getProxyEntity()!=null){
		 		return this.getProxyEntity().isNull(strParamName);
		 	}
            if(StringHelper.isNullOrEmpty(strParamName))
                 throw new Exception("没有指定属性");

    	    Integer index=fieldIndexMap.get(strParamName.toUpperCase());
            if(index==null)
                 return super.isNull(strParamName);

    	     return  GG_PROJ.isNull(this, index);
    	}

            /**
             * 判断指定属性值是否为空值
             * @param et
             * @param index
             * @return
             * @throws Exception
             */
         private static boolean isNull(GG_PROJ et,int index) throws Exception{
             
            switch(index)
    	    {
               case INDEX_GG_PROJID:return et.getGG_PROJId()==null;
               case INDEX_GG_PROJNAME:return et.getGG_PROJName()==null;
               case INDEX_CREATEDATE:return et.getCreateDate()==null;
               case INDEX_CREATEMAN:return et.getCreateMan()==null;
               case INDEX_UPDATEDATE:return et.getUpdateDate()==null;
               case INDEX_UPDATEMAN:return et.getUpdateMan()==null;
               case INDEX_CARDID:return et.getCARDID()==null;
               case INDEX_KSSJ:return et.getKSSJ()==null;
               case INDEX_JSSJ:return et.getJSSJ()==null;
               case INDEX_SSDW:return et.getSSDW()==null;
               case INDEX_XMMS:return et.getXMMS()==null;
               case INDEX_ZRMS:return et.getZRMS()==null;
    	       default:
    		     throw new Exception("不明属性标识");
    	    }
    }

    
         /* (non-Javadoc)
          * @see net.ibizsys.paas.data.DataObject#contains(java.lang.String)
          */
         @Override
    	public boolean contains(String strParamName) throws Exception
    	{
    	 	if(this.getProxyEntity()!=null){
		 		return this.getProxyEntity().contains(strParamName);
		 	}
    	 
            if(StringHelper.isNullOrEmpty(strParamName))
                 throw new Exception("没有指定属性");
    	    Integer index=fieldIndexMap.get(strParamName.toUpperCase());
            if(index==null)
                 return super.contains(strParamName);

    	    return  GG_PROJ.contains(this, index);
    	}

    /**
     * 获取判断对象是否存在指定属性值
     * @param et
     * @param index
     * @return
     * @throws Exception
     */
         private static boolean contains(GG_PROJ et,int index) throws Exception{
             
            switch(index)
    	    {
               case INDEX_GG_PROJID:return et.isGG_PROJIdDirty();
               case INDEX_GG_PROJNAME:return et.isGG_PROJNameDirty();
               case INDEX_CREATEDATE:return et.isCreateDateDirty();
               case INDEX_CREATEMAN:return et.isCreateManDirty();
               case INDEX_UPDATEDATE:return et.isUpdateDateDirty();
               case INDEX_UPDATEMAN:return et.isUpdateManDirty();
               case INDEX_CARDID:return et.isCARDIDDirty();
               case INDEX_KSSJ:return et.isKSSJDirty();
               case INDEX_JSSJ:return et.isJSSJDirty();
               case INDEX_SSDW:return et.isSSDWDirty();
               case INDEX_XMMS:return et.isXMMSDirty();
               case INDEX_ZRMS:return et.isZRMSDirty();
    	       default:
    		     throw new Exception("不明属性标识");
    	    }
    }

         /* (non-Javadoc)
          * @see net.ibizsys.paas.data.DataObject#onFillJSONObject(net.sf.json.JSONObject, boolean)
          */
    @Override
      protected void onFillJSONObject(JSONObject objJSON, boolean bIncludeEmpty) throws Exception
      {
          fillJSONObject(this,objJSON,bIncludeEmpty);
          super.onFillJSONObject(objJSON, bIncludeEmpty);
       }
        
    /**
     * 填充当前对象到JSON
     * @param et 当前数据对象
     * @param json JSON对象
     * @param bIncEmpty 是否包括空值
     * @throws Exception
     */
        private static  void fillJSONObject(GG_PROJ et,JSONObject json, boolean bIncEmpty) throws Exception
        {
                if(bIncEmpty||et.getGG_PROJId()!=null)
        	{
                	JSONObjectHelper.put(json,"gg_projid",getJSONValue(et.getGG_PROJId()),false);
        	}
                if(bIncEmpty||et.getGG_PROJName()!=null)
        	{
                	JSONObjectHelper.put(json,"gg_projname",getJSONValue(et.getGG_PROJName()),false);
        	}
                if(bIncEmpty||et.getCreateDate()!=null)
        	{
                	JSONObjectHelper.put(json,"createdate",getJSONValue(et.getCreateDate()),false);
        	}
                if(bIncEmpty||et.getCreateMan()!=null)
        	{
                	JSONObjectHelper.put(json,"createman",getJSONValue(et.getCreateMan()),false);
        	}
                if(bIncEmpty||et.getUpdateDate()!=null)
        	{
                	JSONObjectHelper.put(json,"updatedate",getJSONValue(et.getUpdateDate()),false);
        	}
                if(bIncEmpty||et.getUpdateMan()!=null)
        	{
                	JSONObjectHelper.put(json,"updateman",getJSONValue(et.getUpdateMan()),false);
        	}
                if(bIncEmpty||et.getCARDID()!=null)
        	{
                	JSONObjectHelper.put(json,"cardid",getJSONValue(et.getCARDID()),false);
        	}
                if(bIncEmpty||et.getKSSJ()!=null)
        	{
                	JSONObjectHelper.put(json,"kssj",getJSONValue(et.getKSSJ()),false);
        	}
                if(bIncEmpty||et.getJSSJ()!=null)
        	{
                	JSONObjectHelper.put(json,"jssj",getJSONValue(et.getJSSJ()),false);
        	}
                if(bIncEmpty||et.getSSDW()!=null)
        	{
                	JSONObjectHelper.put(json,"ssdw",getJSONValue(et.getSSDW()),false);
        	}
                if(bIncEmpty||et.getXMMS()!=null)
        	{
                	JSONObjectHelper.put(json,"xmms",getJSONValue(et.getXMMS()),false);
        	}
                if(bIncEmpty||et.getZRMS()!=null)
        	{
                	JSONObjectHelper.put(json,"zrms",getJSONValue(et.getZRMS()),false);
        	}
        }

        /* (non-Javadoc)
         * @see net.ibizsys.paas.data.DataObject#onFillXmlNode(net.ibizsys.paas.xml.XmlNode, boolean)
         */
     @Override
      protected void onFillXmlNode(XmlNode xmlNode,boolean bIncludeEmpty) throws Exception
      {
           fillXmlNode(this,xmlNode,bIncludeEmpty);
           super.onFillXmlNode(xmlNode, bIncludeEmpty);
       }
        
     /**
      * 填充当前对象到Xml节点中
      * @param et 当前数据对象
      * @param node Xml节点
      * @param bIncEmpty 是否包括空值
      * @throws Exception
      */
        private static void fillXmlNode(GG_PROJ et,XmlNode node,boolean bIncEmpty) throws Exception
        {
                if(bIncEmpty||et.getGG_PROJId()!=null)
        	{
                    Object obj = et.getGG_PROJId();
                    node.setAttribute("GG_PROJID",(obj==null)?"":(String)obj);
         	}
                if(bIncEmpty||et.getGG_PROJName()!=null)
        	{
                    Object obj = et.getGG_PROJName();
                    node.setAttribute("GG_PROJNAME",(obj==null)?"":(String)obj);
         	}
                if(bIncEmpty||et.getCreateDate()!=null)
        	{
                    Object obj = et.getCreateDate();
                    node.setAttribute("CREATEDATE",(obj==null)?"":StringHelper.format("%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS",obj));
         	}
                if(bIncEmpty||et.getCreateMan()!=null)
        	{
                    Object obj = et.getCreateMan();
                    node.setAttribute("CREATEMAN",(obj==null)?"":(String)obj);
         	}
                if(bIncEmpty||et.getUpdateDate()!=null)
        	{
                    Object obj = et.getUpdateDate();
                    node.setAttribute("UPDATEDATE",(obj==null)?"":StringHelper.format("%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS",obj));
         	}
                if(bIncEmpty||et.getUpdateMan()!=null)
        	{
                    Object obj = et.getUpdateMan();
                    node.setAttribute("UPDATEMAN",(obj==null)?"":(String)obj);
         	}
                if(bIncEmpty||et.getCARDID()!=null)
        	{
                    Object obj = et.getCARDID();
                    node.setAttribute("CARDID",(obj==null)?"":(String)obj);
         	}
                if(bIncEmpty||et.getKSSJ()!=null)
        	{
                    Object obj = et.getKSSJ();
                    node.setAttribute("KSSJ",(obj==null)?"":StringHelper.format("%1$tY-%1$tm-%1$td",obj));
         	}
                if(bIncEmpty||et.getJSSJ()!=null)
        	{
                    Object obj = et.getJSSJ();
                    node.setAttribute("JSSJ",(obj==null)?"":StringHelper.format("%1$tY-%1$tm-%1$td",obj));
         	}
                if(bIncEmpty||et.getSSDW()!=null)
        	{
                    Object obj = et.getSSDW();
                    node.setAttribute("SSDW",(obj==null)?"":(String)obj);
         	}
                if(bIncEmpty||et.getXMMS()!=null)
        	{
                    Object obj = et.getXMMS();
                    node.setAttribute("XMMS",(obj==null)?"":(String)obj);
         	}
                if(bIncEmpty||et.getZRMS()!=null)
        	{
                    Object obj = et.getZRMS();
                    node.setAttribute("ZRMS",(obj==null)?"":(String)obj);
         	}


        }

        /* (non-Javadoc)
         * @see net.ibizsys.paas.entity.EntityBase#onCopyTo(net.ibizsys.paas.data.IDataObject, boolean)
         */
	    @Override
	   	protected void onCopyTo(IDataObject dataEntity, boolean bIncludeEmtpy) throws Exception
	  	{
	          GG_PROJ.copyTo(this,dataEntity,bIncludeEmtpy);
	          super.onCopyTo(dataEntity,bIncludeEmtpy);
	  	}
        
	    /**
         * 复制当前对象数据到目标对象
         * @param et 当前数据对象
         * @param dst 目标数据对象
         * @param bIncEmpty 是否包括空值
         * @throws Exception
         */
        private static void copyTo(GG_PROJ et,IDataObject dst,boolean bIncEmpty) throws Exception
        {
            if(et.isGG_PROJIdDirty() && (bIncEmpty||et.getGG_PROJId()!=null))
        	{
        		dst.set(FIELD_GG_PROJID,et.getGG_PROJId());
         	}
            if(et.isGG_PROJNameDirty() && (bIncEmpty||et.getGG_PROJName()!=null))
        	{
        		dst.set(FIELD_GG_PROJNAME,et.getGG_PROJName());
         	}
            if(et.isCreateDateDirty() && (bIncEmpty||et.getCreateDate()!=null))
        	{
        		dst.set(FIELD_CREATEDATE,et.getCreateDate());
         	}
            if(et.isCreateManDirty() && (bIncEmpty||et.getCreateMan()!=null))
        	{
        		dst.set(FIELD_CREATEMAN,et.getCreateMan());
         	}
            if(et.isUpdateDateDirty() && (bIncEmpty||et.getUpdateDate()!=null))
        	{
        		dst.set(FIELD_UPDATEDATE,et.getUpdateDate());
         	}
            if(et.isUpdateManDirty() && (bIncEmpty||et.getUpdateMan()!=null))
        	{
        		dst.set(FIELD_UPDATEMAN,et.getUpdateMan());
         	}
            if(et.isCARDIDDirty() && (bIncEmpty||et.getCARDID()!=null))
        	{
        		dst.set(FIELD_CARDID,et.getCARDID());
         	}
            if(et.isKSSJDirty() && (bIncEmpty||et.getKSSJ()!=null))
        	{
        		dst.set(FIELD_KSSJ,et.getKSSJ());
         	}
            if(et.isJSSJDirty() && (bIncEmpty||et.getJSSJ()!=null))
        	{
        		dst.set(FIELD_JSSJ,et.getJSSJ());
         	}
            if(et.isSSDWDirty() && (bIncEmpty||et.getSSDW()!=null))
        	{
        		dst.set(FIELD_SSDW,et.getSSDW());
         	}
            if(et.isXMMSDirty() && (bIncEmpty||et.getXMMS()!=null))
        	{
        		dst.set(FIELD_XMMS,et.getXMMS());
         	}
            if(et.isZRMSDirty() && (bIncEmpty||et.getZRMS()!=null))
        	{
        		dst.set(FIELD_ZRMS,et.getZRMS());
         	}
        }
        
        /* (non-Javadoc)
         * @see net.ibizsys.paas.data.DataObject#remove(java.lang.String)
         */
        @Override
    	public boolean remove(String strParamName) throws Exception
    	{
        	if(this.getProxyEntity()!=null){
		 		return this.getProxyEntity().remove(strParamName);
		 	}
        	
            if(StringHelper.isNullOrEmpty(strParamName))
                 throw new Exception("没有指定属性");
            Integer index=fieldIndexMap.get(strParamName.toUpperCase());
            if(index==null)
                 return super.remove(strParamName);
            return  GG_PROJ.remove(this, index);
    	}
        
        /**
         * 通过属性标识删除属性值
         * @param entity
         * @param index
         * @return
         * @throws Exception
         */
        private static boolean remove(GG_PROJ et,int index) throws Exception
        {
        	switch(index)
        	{
				case INDEX_GG_PROJID: et.resetGG_PROJId();return true;
				case INDEX_GG_PROJNAME: et.resetGG_PROJName();return true;
				case INDEX_CREATEDATE: et.resetCreateDate();return true;
				case INDEX_CREATEMAN: et.resetCreateMan();return true;
				case INDEX_UPDATEDATE: et.resetUpdateDate();return true;
				case INDEX_UPDATEMAN: et.resetUpdateMan();return true;
				case INDEX_CARDID: et.resetCARDID();return true;
				case INDEX_KSSJ: et.resetKSSJ();return true;
				case INDEX_JSSJ: et.resetJSSJ();return true;
				case INDEX_SSDW: et.resetSSDW();return true;
				case INDEX_XMMS: et.resetXMMS();return true;
				case INDEX_ZRMS: et.resetZRMS();return true;
				default: throw new Exception("不明属性标识");
			}
        }


     private Object objCARDLock = new Object();
     private com.sa.litetwo.srv.card.entity.GG_CARD card = null;
     /**
     * 获取父数据 简历信息卡
      * @throws Exception
     */
    public com.sa.litetwo.srv.card.entity.GG_CARD getCARD() throws Exception
    {
    	if(this.getProxyEntity()!=null){
	 		return this.getProxyEntity().getCARD();
	 	}
    	
        if(this.getCARDID()==null)
             return null;
        synchronized(objCARDLock)
        {
        	if(card==null)
        	{
        		card = new com.sa.litetwo.srv.card.entity.GG_CARD();
        		card.setGG_CARDId(this.getCARDID());
     	        com.sa.litetwo.srv.card.service.GG_CARDService service = (com.sa.litetwo.srv.card.service.GG_CARDService)ServiceGlobal.getService(com.sa.litetwo.srv.card.service.GG_CARDService.class,this.getSessionFactory()); 
     	          if(this.getCARDID().indexOf(net.ibizsys.paas.service.ServiceBase.TEMPKEY) == 0)
     	             service.getTemp(card);
     	        else
     	            service.get(card);
        	}
	        return card;
        }
    }





	/**
	 *  获取代理的数据对象
	 */
	private GG_PROJ getProxyEntity(){return this.proxyGG_PROJ;}

	/* (non-Javadoc)
	 * @see net.ibizsys.paas.data.DataObject#onProxy(net.ibizsys.paas.data.IDataObject)
	 */
	@Override
	protected void onProxy(IDataObject proxyDataObject)
	{
		this.proxyGG_PROJ = null;
		if(proxyDataObject!=null && proxyDataObject instanceof GG_PROJ){
			this.proxyGG_PROJ = (GG_PROJ)proxyDataObject;
		}
			
	}

}